home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Everything For A Hacker
/
19990506-[HACK].iso
/
HEXEDIT
/
UTILS
/
80X0393.ARJ
/
DBVGAL15.ASM
< prev
next >
Wrap
Assembly Source File
|
1993-03-30
|
24KB
|
394 lines
comment |
-------------------------------------------------------------------------
DBVGAL15.ZIP David Boynton's VGA Library, V1.5
-------------------------------------------------------------------------
This library is placed in the public domain. However, if you like
it, and would like to make a small donation to encourage me to
improve this product, my address is:
David Boynton
8083 Budding Br Rd, T-3
Glen Burnie MD 21061-5077
Please let me know of any "corrections" or improvements you'd
like to see.
Send netmail to either: Avi-technic BBS 1:261/662
or: Dave's Doghouse 1:261/1096 (different Dave)
end of comment |
EGA12SET_TEXT SEGMENT word public 'DATA'
PUBLIC _EGA12set
_EGA12set LABEL FAR
db 0,0,0,0,0,0,0,0,0,0,0,0 ; 0
db 0,126,129,165,129,129,189,153,129,126,0,0 ; 1
db 0,126,255,219,255,255,195,231,255,126,0,0 ; 2
db 0,0,108,238,254,254,254,124,56,16,0,0 ; 3
db 0,0,16,56,124,254,124,56,16,0,0,0 ; 4
db 0,0,16,56,16,108,238,108,16,56,0,0 ; 5
db 0,16,56,124,124,254,254,108,16,56,0,0 ; 6
db 0,0,0,0,24,60,60,24,0,0,0,0 ; 7
db 255,255,255,255,231,195,195,231,255,255,255,255 ; 8
db 0,0,0,24,60,102,102,60,24,0,0,0 ; 9
db 255,255,255,231,195,153,153,195,231,255,255,255 ; 10
db 0,30,14,30,54,120,204,204,204,120,0,0 ; 11
db 0,60,102,102,102,60,24,126,24,24,0,0 ; 12
db 0,30,26,30,24,24,24,120,248,112,0,0 ; 13
db 62,54,62,54,54,118,246,102,14,30,12,0 ; 14
db 24,219,126,60,102,102,60,126,219,24,0,0 ; 15
db 0,128,224,240,252,254,252,240,224,128,0,0 ; 16
db 0,2,14,62,126,254,126,62,14,2,0,0 ; 17
db 0,24,60,126,24,24,24,126,60,24,0,0 ; 18
db 0,102,102,102,102,102,102,0,102,102,0,0 ; 19
db 0,127,219,219,219,123,27,27,27,27,0,0 ; 20
db 124,198,198,96,124,246,222,124,12,198,198,124 ; 21
db 0,0,0,0,0,0,0,254,254,254,0,0 ; 22
db 0,24,60,126,24,24,126,60,24,126,0,0 ; 23
db 0,24,60,126,24,24,24,24,24,24,0,0 ; 24
db 0,24,24,24,24,24,24,126,60,24,0,0 ; 25
db 0,0,0,12,14,255,14,12,0,0,0,0 ; 26
db 0,0,0,48,112,254,112,48,0,0,0,0 ; 27
db 0,0,0,0,192,192,192,254,0,0,0,0 ; 28
db 0,0,0,36,102,255,102,36,0,0,0,0 ; 29
db 0,16,56,56,56,124,124,254,254,0,0,0 ; 30
db 0,254,254,124,124,124,56,56,16,0,0,0 ; 31
db 0,0,0,0,0,0,0,0,0,0,0,0 ; ' ' 32
db 0,24,60,60,60,24,24,0,24,24,0,0 ; '!' 33
db 54,54,54,20,0,0,0,0,0,0,0,0 ; '"' 34
db 0,108,108,108,254,108,108,254,108,108,0,0 ; '#' 35
db 24,24,124,198,192,120,60,6,198,124,24,24 ; '$' 36
db 0,0,0,98,102,12,24,48,102,198,0,0 ; '%' 37
db 0,56,108,56,56,118,246,206,204,118,0,0 ; '&' 38
db 12,12,12,24,0,0,0,0,0,0,0,0 ; ''' 39
db 0,12,24,48,48,48,48,48,24,12,0,0 ; '(' 40
db 0,48,24,12,12,12,12,12,24,48,0,0 ; ')' 41
db 0,0,0,108,56,254,56,108,0,0,0,0 ; '*' 42
db 0,0,0,24,24,126,24,24,0,0,0,0 ; '+' 43
db 0,0,0,0,0,0,0,12,12,12,24,0 ; ',' 44
db 0,0,0,0,0,254,0,0,0,0,0,0 ; '-' 45
db 0,0,0,0,0,0,0,0,24,24,0,0 ; '.' 46
db 0,0,2,6,12,24,48,96,192,128,0,0 ; '/' 47
db 0,124,198,206,222,246,230,198,198,124,0,0 ; '0' 48
db 0,24,120,24,24,24,24,24,24,126,0,0 ; '1' 49
db 0,124,198,198,12,24,48,96,198,254,0,0 ; '2' 50
db 0,124,198,6,6,60,6,6,198,124,0,0 ; '3' 51
db 0,12,28,60,108,204,254,12,12,12,0,0 ; '4' 52
db 0,254,192,192,192,252,6,6,198,124,0,0 ; '5' 53
db 0,124,198,192,192,252,198,198,198,124,0,0 ; '6' 54
db 0,254,198,12,24,48,48,48,48,48,0,0 ; '7' 55
db 0,124,198,198,198,124,198,198,198,124,0,0 ; '8' 56
db 0,124,198,198,198,126,6,6,198,124,0,0 ; '9' 57
db 0,0,0,12,12,0,0,12,12,0,0,0 ; ':' 58
db 0,0,0,12,12,0,0,12,12,12,24,0 ; ';' 59
db 0,12,24,48,96,192,96,48,24,12,0,0 ; '<' 60
db 0,0,0,0,254,0,254,0,0,0,0,0 ; '=' 61
db 0,96,48,24,12,6,12,24,48,96,0,0 ; '>' 62
db 0,124,198,198,12,24,24,0,24,24,0,0 ; '?' 63
db 0,124,198,198,222,222,222,220,192,126,0,0 ; '@' 64
db 0,56,108,198,198,198,254,198,198,198,0,0 ; 'A' 65
db 0,252,102,102,102,124,102,102,102,252,0,0 ; 'B' 66
db 0,60,102,192,192,192,192,192,102,60,0,0 ; 'C' 67
db 0,248,108,102,102,102,102,102,108,248,0,0 ; 'D' 68
db 0,254,102,96,96,124,96,96,102,254,0,0 ; 'E' 69
db 0,254,102,96,96,124,96,96,96,240,0,0 ; 'F' 70
db 0,124,198,198,192,192,206,198,198,124,0,0 ; 'G' 71
db 0,198,198,198,198,254,198,198,198,198,0,0 ; 'H' 72
db 0,60,24,24,24,24,24,24,24,60,0,0 ; 'I' 73
db 0,60,24,24,24,24,24,216,216,112,0,0 ; 'J' 74
db 0,198,204,216,240,240,216,204,198,198,0,0 ; 'K' 75
db 0,240,96,96,96,96,96,98,102,254,0,0 ; 'L' 76
db 0,198,198,238,254,214,214,214,198,198,0,0 ; 'M' 77
db 0,198,198,230,230,246,222,206,206,198,0,0 ; 'N' 78
db 0,124,198,198,198,198,198,198,198,124,0,0 ; 'O' 79
db 0,252,102,102,102,124,96,96,96,240,0,0 ; 'P' 80
db 0,124,198,198,198,198,198,198,214,124,6,0 ; 'Q' 81
db 0,252,102,102,102,124,120,108,102,230,0,0 ; 'R' 82
db 0,124,198,192,96,56,12,6,198,124,0,0 ; 'S' 83
db 0,126,90,24,24,24,24,24,24,60,0,0 ; 'T' 84
db 0,198,198,198,198,198,198,198,198,124,0,0 ; 'U' 85
db 0,198,198,198,198,198,198,108,56,16,0,0 ; 'V' 86
db 0,198,198,214,214,214,254,238,198,198,0,0 ; 'W' 87
db 0,198,198,108,56,56,56,108,198,198,0,0 ; 'X' 88
db 0,102,102,102,102,60,24,24,24,60,0,0 ; 'Y' 89
db 0,254,198,140,24,48,96,194,198,254,0,0 ; 'Z' 90
db 0,124,96,96,96,96,96,96,96,124,0,0 ; '[' 91
db 0,0,128,192,96,48,24,12,6,2,0,0 ; '\' 92
db 0,124,12,12,12,12,12,12,12,124,0,0 ; ']' 93
db 16,56,108,198,0,0,0,0,0,0,0,0 ; '^' 94
db 0,0,0,0,0,0,0,0,0,0,0,255 ; '_' 95
db 24,24,24,12,0,0,0,0,0,0,0,0 ; '`' 96
db 0,0,0,0,120,12,124,204,220,118,0,0 ; 'a' 97
db 0,224,96,96,124,102,102,102,102,252,0,0 ; 'b' 98
db 0,0,0,0,124,198,192,192,198,124,0,0 ; 'c' 99
db 0,28,12,12,124,204,204,204,204,126,0,0 ; 'd' 100
db 0,0,0,0,124,198,254,192,198,124,0,0 ; 'e' 101
db 0,28,54,48,48,252,48,48,48,120,0,0 ; 'f' 102
db 0,0,0,0,118,206,198,198,126,6,198,124 ; 'g' 103
db 0,224,96,96,108,118,102,102,102,230,0,0 ; 'h' 104
db 0,24,24,0,56,24,24,24,24,60,0,0 ; 'i' 105
db 0,12,12,0,28,12,12,12,12,204,204,120 ; 'j' 106
db 0,224,96,96,102,108,120,108,102,230,0,0 ; 'k' 107
db 0,56,24,24,24,24,24,24,24,60,0,0 ; 'l' 108
db 0,0,0,0,108,254,214,214,198,198,0,0 ; 'm' 109
db 0,0,0,0,220,102,102,102,102,102,0,0 ; 'n' 110
db 0,0,0,0,124,198,198,198,198,124,0,0 ; 'o' 111
db 0,0,0,0,220,102,102,102,124,96,96,240 ; 'p' 112
db 0,0,0,0,118,204,204,204,124,12,12,30 ; 'q' 113
db 0,0,0,0,220,102,96,96,96,240,0,0 ; 'r' 114
db 0,0,0,0,124,198,112,28,198,124,0,0 ; 's' 115
db 0,48,48,48,252,48,48,48,54,28,0,0 ; 't' 116
db 0,0,0,0,204,204,204,204,204,118,0,0 ; 'u' 117
db 0,0,0,0,198,198,198,108,56,16,0,0 ; 'v' 118
db 0,0,0,0,198,198,214,214,254,108,0,0 ; 'w' 119
db 0,0,0,0,198,108,56,56,108,198,0,0 ; 'x' 120
db 0,0,0,0,198,198,198,206,118,6,198,124 ; 'y' 121
db 0,0,0,0,254,140,24,48,98,254,0,0 ; 'z' 122
db 0,14,24,24,24,112,24,24,24,14,0,0 ; '{' 123
db 0,24,24,24,24,0,24,24,24,24,0,0 ; '|' 124
db 0,112,24,24,24,14,24,24,24,112,0,0 ; '}' 125
db 0,118,220,0,0,0,0,0,0,0,0,0 ; '~' 126
db 0,0,0,16,56,56,108,108,254,0,0,0 ; '' 127
db 0,60,102,192,192,192,198,102,60,24,204,56 ; 'Ç' 128
db 0,198,198,0,198,198,198,198,206,118,0,0 ; 'ü' 129
db 12,24,48,0,124,198,254,192,198,124,0,0 ; 'é' 130
db 48,120,204,0,120,12,124,204,220,118,0,0 ; 'â' 131
db 0,204,204,0,120,12,124,204,220,118,0,0 ; 'ä' 132
db 96,48,24,0,120,12,124,204,220,118,0,0 ; 'à' 133
db 56,108,56,0,120,12,124,204,220,118,0,0 ; 'å' 134
db 0,0,0,124,198,192,192,198,124,24,108,56 ; 'ç' 135
db 48,120,204,0,124,198,254,192,198,124,0,0 ; 'ê' 136
db 0,204,204,0,124,198,254,192,198,124,0,0 ; 'ë' 137
db 48,24,12,0,124,198,254,192,198,124,0,0 ; 'è' 138
db 0,102,102,0,56,24,24,24,24,60,0,0 ; 'ï' 139
db 24,60,102,0,56,24,24,24,24,60,0,0 ; 'î' 140
db 96,48,24,0,56,24,24,24,24,60,0,0 ; ' ' 141
db 198,198,0,56,108,198,254,198,198,198,0,0 ; 'Ä' 142
db 56,108,56,0,56,108,198,198,254,198,198,0 ; 'Å' 143
db 12,24,48,0,254,96,96,124,96,96,254,0 ; 'É' 144
db 0,0,0,102,219,27,127,216,223,118,0,0 ; 'æ' 145
db 126,216,216,216,216,254,216,216,216,222,0,0 ; 'Æ' 146
db 48,120,204,0,124,198,198,198,198,124,0,0 ; 'ô' 147
db 0,198,198,0,124,198,198,198,198,124,0,0 ; 'ö' 148
db 48,24,12,0,124,198,198,198,198,124,0,0 ; 'ò' 149
db 48,120,204,0,198,198,198,198,206,118,0,0 ; 'û' 150
db 96,48,24,0,198,198,198,198,206,118,0,0 ; 'ù' 151
db 0,198,198,0,198,198,198,206,118,6,198,124 ; 'ÿ' 152
db 198,198,0,124,198,198,198,198,198,124,0,0 ; 'Ö' 153
db 198,198,0,198,198,198,198,198,198,124,0,0 ; 'Ü' 154
db 24,24,60,102,96,96,102,60,24,24,0,0 ; '¢' 155
db 0,56,108,96,96,240,96,102,246,108,0,0 ; '£' 156
db 0,102,102,60,24,126,24,60,24,24,0,0 ; '¥' 157
db 252,198,252,192,204,222,204,204,204,198,0,0 ; '₧' 158
db 14,27,24,24,24,126,24,24,24,24,216,112 ; 'ƒ' 159
db 12,24,48,0,120,12,124,204,220,118,0,0 ; 'á' 160
db 12,24,48,0,56,24,24,24,24,60,0,0 ; 'í' 161
db 12,24,48,0,124,198,198,198,198,124,0,0 ; 'ó' 162
db 24,48,96,0,204,204,204,204,220,118,0,0 ; 'ú' 163
db 0,118,220,0,188,102,102,102,102,230,0,0 ; 'ñ' 164
db 118,220,0,198,198,230,246,222,206,198,0,0 ; 'Ñ' 165
db 60,108,108,62,0,126,0,0,0,0,0,0 ; 'ª' 166
db 56,108,108,56,0,124,0,0,0,0,0,0 ; 'º' 167
db 0,48,48,0,48,48,96,198,198,124,0,0 ; '¿' 168
db 0,0,0,0,0,126,96,96,96,0,0,0 ; '⌐' 169
db 0,0,0,0,0,126,6,6,6,0,0,0 ; '¬' 170
db 96,98,102,108,24,48,96,220,54,12,24,62 ; '½' 171
db 96,98,102,108,24,54,110,222,54,126,6,6 ; '¼' 172
db 0,24,24,0,24,24,60,60,60,24,0,0 ; '¡' 173
db 0,0,0,54,108,216,108,54,0,0,0,0 ; '«' 174
db 0,0,0,216,108,54,108,216,0,0,0,0 ; '»' 175
db 17,68,17,68,17,68,17,68,17,68,17,68 ; '░' 176
db 85,170,85,170,85,170,85,170,85,170,85,170 ; '▒' 177
db 221,119,221,119,221,119,221,119,221,119,221,119 ; '▓' 178
db 24,24,24,24,24,24,24,24,24,24,24,24 ; '│' 179
db 24,24,24,24,24,24,248,24,24,24,24,24 ; '┤' 180
db 24,24,24,24,248,24,248,24,24,24,24,24 ; '╡' 181
db 54,54,54,54,54,54,246,54,54,54,54,54 ; '╢' 182
db 0,0,0,0,0,0,254,54,54,54,54,54 ; '╖' 183
db 0,0,0,0,248,24,248,24,24,24,24,24 ; '╕' 184
db 54,54,54,54,246,6,246,54,54,54,54,54 ; '╣' 185
db 54,54,54,54,54,54,54,54,54,54,54,54 ; '║' 186
db 0,0,0,0,254,6,246,54,54,54,54,54 ; '╗' 187
db 54,54,54,54,246,6,254,0,0,0,0,0 ; '╝' 188
db 54,54,54,54,54,54,254,0,0,0,0,0 ; '╜' 189
db 24,24,24,24,248,24,248,0,0,0,0,0 ; '╛' 190
db 0,0,0,0,0,0,248,24,24,24,24,24 ; '┐' 191
db 24,24,24,24,24,24,31,0,0,0,0,0 ; '└' 192
db 24,24,24,24,24,24,255,0,0,0,0,0 ; '┴' 193
db 0,0,0,0,0,0,255,24,24,24,24,24 ; '┬' 194
db 24,24,24,24,24,24,31,24,24,24,24,24 ; '├' 195
db 0,0,0,0,0,0,255,0,0,0,0,0 ; '─' 196
db 24,24,24,24,24,24,255,24,24,24,24,24 ; '┼' 197
db 24,24,24,24,31,24,31,24,24,24,24,24 ; '╞' 198
db 54,54,54,54,54,54,55,54,54,54,54,54 ; '╟' 199
db 54,54,54,54,55,48,63,0,0,0,0,0 ; '╚' 200
db 0,0,0,0,63,48,55,54,54,54,54,54 ; '╔' 201
db 54,54,54,54,247,0,255,0,0,0,0,0 ; '╩' 202
db 0,0,0,0,255,0,247,54,54,54,54,54 ; '╦' 203
db 54,54,54,54,55,48,55,54,54,54,54,54 ; '╠' 204
db 0,0,0,0,255,0,255,0,0,0,0,0 ; '═' 205
db 54,54,54,54,247,0,247,54,54,54,54,54 ; '╬' 206
db 24,24,24,24,255,0,255,0,0,0,0,0 ; '╧' 207
db 54,54,54,54,54,54,255,0,0,0,0,0 ; '╨' 208
db 0,0,0,0,255,0,255,24,24,24,24,24 ; '╤' 209
db 0,0,0,0,0,0,255,54,54,54,54,54 ; '╥' 210
db 54,54,54,54,54,54,63,0,0,0,0,0 ; '╙' 211
db 24,24,24,24,31,24,31,0,0,0,0,0 ; '╘' 212
db 0,0,0,0,31,24,31,24,24,24,24,24 ; '╒' 213
db 0,0,0,0,0,0,63,54,54,54,54,54 ; '╓' 214
db 54,54,54,54,54,54,255,54,54,54,54,54 ; '╫' 215
db 24,24,24,24,255,24,255,24,24,24,24,24 ; '╪' 216
db 24,24,24,24,24,24,248,0,0,0,0,0 ; '┘' 217
db 0,0,0,0,0,0,31,24,24,24,24,24 ; '┌' 218
db 255,255,255,255,255,255,255,255,255,255,255,255 ; '█' 219
db 0,0,0,0,0,0,255,255,255,255,255,255 ; '▄' 220
db 240,240,240,240,240,240,240,240,240,240,240,240 ; '▌' 221
db 15,15,15,15,15,15,15,15,15,15,15,15 ; '▐' 222
db 255,255,255,255,255,255,0,0,0,0,0,0 ; '▀' 223
db 0,0,0,118,220,216,216,216,220,118,0,0 ; 'α' 224
db 0,0,0,120,204,216,252,198,230,220,192,192 ; 'ß' 225
db 0,254,102,98,96,96,96,96,96,96,0,0 ; 'Γ' 226
db 0,0,0,0,254,108,108,108,108,108,0,0 ; 'π' 227
db 0,254,198,98,48,24,48,98,198,254,0,0 ; 'Σ' 228
db 0,0,0,0,126,216,204,204,204,120,0,0 ; 'σ' 229
db 0,0,0,102,102,102,102,124,96,192,128,0 ; 'µ' 230
db 0,0,0,0,118,220,24,24,24,24,0,0 ; 'τ' 231
db 0,254,56,108,198,198,198,108,56,254,0,0 ; 'Φ' 232
db 0,56,108,198,198,254,198,198,108,56,0,0 ; 'Θ' 233
db 0,56,108,198,198,198,108,108,108,238,0,0 ; 'Ω' 234
db 0,62,96,48,60,102,198,198,204,120,0,0 ; 'δ' 235
db 0,0,0,0,126,219,219,126,0,0,0,0 ; '∞' 236
db 0,6,12,124,222,246,230,124,96,192,0,0 ; 'φ' 237
db 0,28,48,96,96,124,96,96,48,28,0,0 ; 'ε' 238
db 0,124,198,198,198,198,198,198,198,198,0,0 ; '∩' 239
db 0,0,0,0,254,0,254,0,254,0,0,0 ; '≡' 240
db 0,0,0,24,24,126,24,24,0,126,0,0 ; '±' 241
db 0,48,24,12,6,12,24,48,0,126,0,0 ; '≥' 242
db 0,12,24,48,96,48,24,12,0,126,0,0 ; '≤' 243
db 0,0,12,30,26,24,24,24,24,24,24,24 ; '⌠' 244
db 24,24,24,24,24,24,24,24,88,120,48,0 ; '⌡' 245
db 0,0,24,24,0,126,0,24,24,0,0,0 ; '÷' 246
db 0,0,0,0,118,220,0,118,220,0,0,0 ; '≈' 247
db 0,120,204,204,120,0,0,0,0,0,0,0 ; '°' 248
db 0,0,0,0,0,24,24,0,0,0,0,0 ; '∙' 249
db 0,0,0,0,0,0,24,0,0,0,0,0 ; '·' 250
db 0,0,31,24,24,24,24,216,120,56,24,0 ; '√' 251
db 216,108,108,108,108,0,0,0,0,0,0,0 ; 'ⁿ' 252
db 112,216,48,96,248,0,0,0,0,0,0,0 ; '²' 253
db 0,0,0,126,126,126,126,126,126,0,0,0 ; '■' 254
db 0,0,0,0,0,0,0,0,0,0,0,0 ; ' ' 255
EGA12SET_TEXT ENDS
END
name _L33set
; void L33set(void);
extrn _EGA12set:FAR
L33_TEXT segment byte public 'CODE'
public _L33set
assume cs:L33_TEXT
_L33set proc far
push ds
MOV AX,0003 ; textmode 0x03
INT 10h
MOV AX,1111h ; 8x14 char set & video parameters
MOV BL,00
INT 10h
mov dx,03d4h
mov al,09h
out dx,al
inc dx
in al,dx
and al,0e0h
or al,0bh
out dx,al
mov dx,03d4h
mov al,12h
out dx,al
inc dx
mov al,8bh
out dx,al
XOR AX,AX
MOV DS,AX
MOV AL,0ch
MOV ds:[0485h],AL ; update BIOScrtpoints
MOV AL,20h
MOV ds:[0484h],AL ; update BIOScrtrows
mov ah,1
mov ch,9
mov cl,0bh
int 10h ; set cursor size
mov ax,seg _EGA12set
mov es,ax
mov bp,offset _EGA12set
mov ax,1100h
mov bx,0c00h
mov cx,0100h
mov dx,0
int 10h ; load custom character generator
pop ds
ret
_L33set endp
L33_TEXT ends
end
; name _L40set
; void L40set(void);
L40_TEXT segment para public 'CODE'
public _L40set
assume cs:L40_TEXT
_L40set proc far
push ds
MOV AX,0003 ; textmode 0x03
INT 10h
MOV AX,1111h ; 8x14 char set & video parameters
MOV BL,00
INT 10h
MOV AX,1102h ; set 8 point font
MOV BL,00
INT 10h
mov dx,03d4h ; update CRTC register 9
mov al,09h
out dx,al
inc dx
in al,dx
and al,0e0h
or al,09h
out dx,al
mov dx,03d4h ; update CRTC register 12h
mov al,12h
out dx,al
inc dx
mov al,90h
out dx,al
XOR AX,AX
MOV DS,AX
MOV AL,09
MOV ds:[0485h],AL ; update BIOScrtpoints
MOV AL,27h
MOV ds:[0484h],AL ; update BIOScrtrows
mov ah,1
mov ch,7
mov cl,9
int 10h ; set cursor size
xor ax,ax
pop ds
ret
_L40set endp
L40_TEXT ends
end